package com.taotao.controller;

import java.util.HashMap;
import java.util.Map;

import com.taotao.common.utils.DateUtil;
import com.taotao.common.wxpay.MyWXConfig;
import com.taotao.common.wxpay.WXPay;

public class WachatPay {
	
//	  public static void main(String[] args) throws Exception {
//		  
//		  	String certPath="D:\\workspace_git\\apiclient_cert.p12";
//		    MyWXConfig.init(certPath);
//	        MyWXConfig config = new MyWXConfig();
//	        WXPay wxpay = new WXPay(config,true);
//
//	        Map<String, String> data = new HashMap<String, String>();
//	        data.put("out_trade_no", "EasygoEasyCome_1594481228460");
//
//	        try {
//	            Map<String, String> resp = wxpay.orderQuery(data);
//	            System.out.println("返回-->"+resp);
//	        } catch (Exception e) {
//	            e.printStackTrace();
//	        }
//	    }
	
	

    public static void main(String[] args) throws Exception {
        try {
        	String certPath="D:\\workspace_git\\apiclient_cert.p12";
        	MyWXConfig.init(certPath);
        	MyWXConfig config = new MyWXConfig();
            WXPay wxpay = new WXPay(config);

            Map<String, String> data = new HashMap<String, String>();
            data.put("body", "JSAPI支付测试");
            data.put("out_trade_no", "ey"+DateUtil.getDateAndTime3());
            data.put("device_info", "");
            data.put("fee_type", "CNY");
            data.put("total_fee", "1");
            data.put("notify_url", "https://www.easygoapp.xyz/api/wxPayNotify");
            data.put("trade_type", "JSAPI"); 
            data.put("openid", "oXEwa40kJMxSs-GVSra7EfjVopRo");

            Map<String, String> resp = wxpay.unifiedOrder(data);
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
	  
//	  public static void main(String[] args) throws Exception {
//
//	        Map<String,String> notifyMap=new HashMap<String,String>();
//	        String certPath="D:\\huiyun\\workspace_git\\apiclient_cert.p12";
//		    MyWXConfig.init(certPath);
//	        MyWXConfig config = new MyWXConfig();
//	        WXPay wxpay = new WXPay(config);
//
//	        notifyMap.put("transaction_id", "4200000584202007114312741245");
//	        notifyMap.put("nonce_str", "fXrW468SbPxKZye8ACFcCwYAGdFH8sTj");
//	        notifyMap.put("bank_type", "OTHERS");
//	        notifyMap.put("openid", "oXEwa40kJMxSs-GVSra7EfjVopRo");
//	        notifyMap.put("sign", "74785DD7921563FB5293A6FAF698089E");
//	        notifyMap.put("fee_type", "CNY");
//	        notifyMap.put("mch_id", "1600589504");
//	        notifyMap.put("cash_fee", "100");
//	        notifyMap.put("out_trade_no", "EasygoEasyCome_1594481228460");
//	        notifyMap.put("appid", "wxd9edb31e308100fe");
//	        notifyMap.put("total_fee", "100");
//	        notifyMap.put("trade_type", "JSAPI");
//	        notifyMap.put("result_code", "SUCCESS");
//	        notifyMap.put("time_end", "20200711232713");
//	        notifyMap.put("is_subscribe", "N");
//	        notifyMap.put("return_code", "SUCCESS");
//	        
//
//	        if (wxpay.isPayResultNotifySignatureValid(notifyMap)) {
//	        	System.out.println("签名正确");
//	            // 签名正确
//	            // 进行处理。
//	            // 注意特殊情况：订单已经退款，但收到了支付结果成功的通知，不应把商户侧订单状态从退款改成支付成功
//	        }
//	        else {
//	        	System.out.println("签名错误");
//	            // 签名错误，如果数据里没有sign字段，也认为是签名错误
//	        }
//	    }
	
//	public static void main(String[] args) {
//		try {
//			HashMap<String,String> map=new HashMap<String,String>();
//			map.put("return_code", "SUCCESS");
//			map.put("return_msg", "OK");
//			String mapToXml = WXPayUtil.mapToXml(map);
//			System.out.println(mapToXml);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//	}

}
